package control;

import java.io.Serializable;
import enumerador.ModosVisao;
import apresentacao.GerentePagina;
import apresentacao.GerenteValidacao;
import model.bean.Indicacao;
import model.bean.Matricula;
import model.bo.IndicacaoBO;

public class IndicacaoAlunoMB extends GerentePagina implements Serializable{

	private static final long serialVersionUID = 1L;
	
	private IndicacaoBO indicacaoBO = new IndicacaoBO();
	private Matricula matricula = new Matricula();
	private Indicacao indicacao = new Indicacao();
	
	public String inclusao() {
		setVisao(ModosVisao.INCLUSAO);
		return "indicacaoAluno";
	}

	public void incluir() {
		try {
			indicacao.setMatricula(matricula);
			indicacao = indicacaoBO.incluir(indicacao);
		} catch (Exception e) {
			e.printStackTrace();
			GerenteValidacao.mensagemErroIncluir();
		}
		setVisao(ModosVisao.INCLUIR);
		GerenteValidacao.mensagemIncluir();
	}
	
	public void edicao() {
		try {
			indicacao = indicacaoBO.consultar(matricula);
		} catch (Exception e) {
			e.printStackTrace();
		}
		setVisao(ModosVisao.EDICAO);
	}

	public String consulta() {
		try {
		indicacao = indicacaoBO.consultar(matricula);
		setVisao(ModosVisao.EDICAO);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return "indicacaoAluno";
	}
	
	public void salvar() {
		try {
			indicacao.setMatricula(matricula);
			indicacaoBO.alterar(indicacao);
		} catch (Exception e) {
			e.printStackTrace();
			GerenteValidacao.mensagemErroAlterar();
		}
		setVisao(ModosVisao.SALVAR);
		GerenteValidacao.mensagemAlterar();
	}

	public void excluir() {
		try {
			indicacao.setMatricula(matricula);
			indicacaoBO.excluir(indicacao);
		} catch (Exception e) {
			e.printStackTrace();
			GerenteValidacao.mensagemErroExcluir();
		}
		setVisao(ModosVisao.INCLUSAO);
		GerenteValidacao.mensagemExcluir();
	}

	public Matricula getMatricula() {
		return matricula;
	}

	public void setMatricula(Matricula matricula) {
		this.matricula = matricula;
	}

	public Indicacao getIndicacao() {
		return indicacao;
	}

	public void setIndicacao(Indicacao indicacao) {
		this.indicacao = indicacao;
	}
	
}
